import Vue from 'vue'
import App from './App' //./app.vue省略
//加入axios
import axios from 'axios'

//引入router
import router from './router'
//引入过滤器
import filter from "../public/static/js/filter";
//引入elementUI
import ElementUI from "element-ui";
import 'element-ui/lib/theme-chalk/index.css';

import moment from "moment";

Vue.use(ElementUI);
//引用ES6的编码规范
Vue.config.productionTip = false
//prototype为vue的全局变量，使用this.propxxx获取值，$代表全局属性的约定,将$ajax设置为内置属性=axios
Vue.prototype.$ajax = axios;

//解决前后端分离架构，credential证书：每次ajax请求，session-id不一致问题
axios.defaults.withCredentials = true;

//引入moment解决日期格式，这个没转对
/*Vue.filter('moment',
function (value, formatString) {
    formatString = formatString || 'YYYY-MM-DD HH:mm:ss';
    return moment(value).format(formatString);
}
);*/
/**
 * axios拦截器:打印日志
 */
/*axios.interceptors.request.use(function (config) {
  console.log("请求：",config);
  //为请求增加token，这里获取的token必须与dto一直，这里从dto直接传参
  let token=Tool.getUserLogin().loginRedisToken;
  //不为空，则header+token参数
  if(Tool.isNotEmpty(token)){
    //对应LoginAdminGatewayFilter定义的token
    config.headers.token=token;
    console.log("请求header增加token：",token);
  }
  return config;
},error => {});

axios.interceptors.response.use(function (response) {
  console.log("响应结果：",response);
  return response;
},error => {});*/
/**
 * 增加filter.js全局过滤器
 */
/*Object.keys(filter).forEach(key=> {
  Vue.filter(key,filter[key])
});*/

/**
 * 路由登录拦截:goard守卫函数
 */
/*router.beforeEach((to,from,next)=>{
  //对router设置的admin--》meta.loginRequire属性做监控拦截
  if(to.matched.some(function (item) {
    return item.meta.loginRequire;
  })){
    //从Tool本地缓存取出user信息
    let userLogin=Tool.getUserLogin();
    if(Tool.isEmpty(userLogin)){
      next('/login');
    }else{
      next();
    }
  }else{
    next();
  }
});*/

new Vue({
    router,
    render: h => h(App),
}).$mount('#app');

//代码中使用环境变量
console.log("环境：", process.env.NODE_ENV);
